﻿/* 
 * Author: aple
 * Created on 2021年6月3日, 上午9:59
 */

#ifndef __LIST_ST_SCAN_H
#define	__LIST_ST_SCAN_H

#include "stdint.h"

#ifdef	__cplusplus
extern "C" {
#endif

typedef struct
{
	void * list;			//元素列表，每个元素的第一字节指示状态
	int8_t e_size;			//元素尺寸
	int8_t list_len;		//列表长度 1-126
	int8_t ret_at_err;		//搜索失败返回值
	int8_t st_scan;			//目标状态
} list_st_scan_type;

void list_e_set(const list_st_scan_type * tab, void * dat, int8_t index);
void list_e_reset(const list_st_scan_type * tab, int8_t index);
int8_t list_e_scan_next(const list_st_scan_type * tab, int8_t now);
int8_t list_e_scan_fore(const list_st_scan_type * tab, int8_t now);
int8_t list_e_amount(const list_st_scan_type * tab);


#ifdef	__cplusplus
}
#endif

#endif	/* __LIST_ST_SCAN_H */

